package com.xd.core.business.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 客户工单关联表
 * </p>
 *
 * @author ZX
 * @since 2025-02-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ExcelIgnoreUnannotated
public class CertificationPageVo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "进件单号")
    private Integer incomingId;

    @ApiModelProperty(value = "放款id")
    private Integer outId;

    @ApiModelProperty(value = "公证单号")
    @ExcelProperty(value = "公证订单号")
    private String certificationId;

    @ApiModelProperty(value = "合同编号")
    @ExcelProperty(value = "合同编号")
    private String incomingOrder;

    @ApiModelProperty(value = "公证状态(0-公证中,1-初审失败,2-初审通过,3-公证失败,4-公证完成）")
    private String status;

    @ApiModelProperty(value = "公证订单")
    private String orderNo;

    @ApiModelProperty(value = "公证状态详情")
    @ExcelProperty(value = "公证状态")
    private String statusRemark;

    @ApiModelProperty(value = "进件产品")
    @ExcelProperty(value = "产品名称")
    private String productName;

    @ApiModelProperty(value = "客户姓名")
    @ExcelProperty(value = "客户姓名")
    private String name;

    @ApiModelProperty(value = "客户手机号")
    @ExcelProperty(value = "客户手机号")
    private String phone;

    @ApiModelProperty(value = "授信金额")
    @ExcelProperty(value = "授信金额")
    private BigDecimal creditAmount;

    @ApiModelProperty(value = "更新时间")
    @ExcelProperty(value = "最近更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", shape = JsonFormat.Shape.STRING, timezone = "GMT+8")
    private Date updateTime;

    @ApiModelProperty(value = "开始时间")
    @ExcelProperty(value = "办理开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", shape = JsonFormat.Shape.STRING, timezone = "GMT+8")
    private Date startTime;

    @ApiModelProperty(value = "结束时间")
    @ExcelProperty(value = "办理结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", shape = JsonFormat.Shape.STRING, timezone = "GMT+8")
    private Date endTime;

    @ApiModelProperty(value = "订单状态(0--启用,1--停用)")
    private String isEnable;

    @ApiModelProperty(value = "办理开始日期")
    private Date createTime;

    @ApiModelProperty(value = "更新人")
    @ExcelProperty(value = "最近更新人")
    private String updateBy;

    @ApiModelProperty("资方id")
    private Integer companyId;

    @ExcelProperty(value = "公证失败原因")
    @ApiModelProperty(value = "公证失败原因")
    private String failReason;

    @ApiModelProperty(value = "重新签署原因")
    private String signFailReason;

    @ApiModelProperty(value = "授信id")
    private String creditId;
}
